package com.snapan.service;

import com.snapan.common.PageResult;
import com.snapan.entity.ShareFile;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 分享服务接口
 */
public interface ShareService {
    
    /**
     * 获取分享列表
     */
    PageResult<ShareFile> getShareList(int pageSize, int pageNo, int userId);
    
    /**
     * 根据token获取分享信息
     */
    ShareFile getShareByToken(String token);
    
    /**
     * 创建分享
     */
    ShareFile createShare(ShareFile shareFile, boolean enablePassword);
    
    /**
     * 验证分享密码
     */
    ShareFile verifyPassword(String shareCode, String password);
    
    /**
     * 更新分享
     */
    boolean updateShare(ShareFile shareFile);
    
    /**
     * 删除分享
     */
    boolean deleteShare(Long id);
    
    /**
     * 记录分享访问
     */
    boolean recordAccess(String token);

    void syncAllValidShareFileToEs();

    void syncShareFileToEs(Long shareFileId);
}







